package cn.ym.ymcc.service;

import cn.ym.ymcc.domain.Course;
import cn.ym.ymcc.dto.CourseDetailParamDto;
import cn.ym.ymcc.dto.CourseDto;
import cn.ym.ymcc.dto.CourseInfoDto;
import cn.ym.ymcc.query.CourseQuery;
import cn.ym.ymcc.result.JSONResult;
import cn.ym.ymcc.result.PageList;
import com.baomidou.mybatisplus.service.IService;
import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 210513347@qq.com
 * @since 2023-05-08
 */
public interface ICourseService extends IService<Course> {

    /**
     * 分页查询
     * @param query
     * @return
     */
    PageList<Course> queryPage(CourseQuery query);




    JSONResult saveCourseDto(CourseDto dto);

    JSONResult updateCourseDto(CourseDto dto);
    //课程上线
    void onLineCourse(Long[] ids, HttpServletRequest request) ;
    //课程下线
    void offLineCourse(Long[] ids, HttpServletRequest request);
    /**
     * 根据课程id查询课程详情
     * @param courseId
     * @return
     */
    CourseDetailParamDto detailByCourseId(Long courseId);

    /**
     * 多个courseId 查询课程详情
     * @param courseId
     * @return
     */
    CourseInfoDto info(String courseId);

//    void onLineCourse(Long id);
    
}
